package cn.kent.builderPattern;

import java.util.ArrayList;

/**
 * 最终客户开始使用这个模型
 * @author kent
 * @date 2021/6/1 16:01
 */
public class Client {

    public static void main(String[] args) {
//        /**
//         * 客户告诉公司，我要这样一个模型。。。
//         */
//        BenzModel benz = new BenzModel();
//        ArrayList<String> sequence = new ArrayList<>();
//
//        /**
//         * 将客户指定的顺序赋值
//         */
//        sequence.add("engine boom");
//        sequence.add("start");
//        sequence.add("stop");
//
//        // 将顺序给奔驰车
//        benz.setSequence(sequence);
//        benz.run();


//        ArrayList<String> sequence = new ArrayList<>();
//        /**
//         * 将客户指定的顺序赋值
//         */
//        sequence.add("engine boom");
//        sequence.add("start");
//        sequence.add("stop");
//
//        BenzBuilder benzBuilder = new BenzBuilder();
//        benzBuilder.setSequence(sequence);
//        BenzModel benz = (BenzModel) benzBuilder.getCarModel();
//        benz.run();
//
//        BMWBuilder bmwBuilder = new BMWBuilder();
//        bmwBuilder.setSequence(sequence);
//        BMWModel carModel = (BMWModel) bmwBuilder.getCarModel();
//        carModel.run();

        Director director = new Director();
        for (int i = 0; i < 10; i++) {
            director.getABenzModel().run();
            System.out.println(i);
        }

        for (int i = 0; i < 10; i++) {
            director.getDBMWModel().run();
            System.out.println(i);
        }

    }
}
